package com.github.bridge.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Size;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
public class CreateOuterOrgSealDTO extends BaseDTO {

    @Schema(description = "企业账号ID（创建企业签署账号接口返回）与roundText必须二选一传值，不可都传或者都不传" +
            "     * 传了accountId会取企业账号里的名称创建印章的内容文本")
    private String accountId;

    @Schema(description = "印章里的企业名称（生成印章中的上弦文）与accountId必须二选一传值，不可都传或者都不传" +
            "     * 传了roundText会取该企业名称创建印章内容")
    private String roundText;

    @Schema(description = "模板类型 STAR-标准公章 OVAL-椭圆形印章 DEDICATED-圆形无五角星章", defaultValue = "STAR", allowableValues = {"STAR", "OVAL", "DEDICATED"}, requiredMode = Schema.RequiredMode.REQUIRED)
    private String type;

    @Schema(description = "生成印章的颜色 RED，红色 BLUE，蓝色 BLACK，黑色", defaultValue = "RED", allowableValues = {"RED", "BLUE", "BLACK"}, requiredMode = Schema.RequiredMode.REQUIRED)
    private String color;

    @Size(max = 2, min = 0, message = "横向文最多2个")
    @Schema(description = "生成印章中的横向文内容:横向文一般是指的XX专用章，如合同专用章、财务专用章等。最多可设置上下两个（数组长度不可大于2，每个横向文最多20个字）")
    private List<String> hTexts;

    @Length(max = 20, message = "下弦文内容最多20字")
    @Schema(description = "生成印章中的下弦文内容（最多20字）；下弦文是指的贵司公章底部一串防伪数字，若没有该参数可不填。")
    private String qText;

}
